package com.ticket.system.domain.vo;


import com.ticket.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@ApiModel(description = "座位对象")
public class SeatVo {
    @Excel(name = "区域", cellType = Excel.ColumnType.STRING)
    private String areaName;
    @ApiModelProperty(value = "区域id")
    private Long hallId;
    @ApiModelProperty(value = "场次id")
    private Long sessionId;
    @NotNull(message = "区域编码不可以为空")
    @ApiModelProperty(value = "区域编码")
    private Integer areaId;
    @ApiModelProperty(value = "状态")
    private Integer status;
    @NotNull(message = "排不可以为空")
    @Length(min = 1, max = 200, message = "排号不正确")
    @ApiModelProperty(value = "排")
    private Integer rowNumber;
    @Excel(name = "排", cellType = Excel.ColumnType.STRING)
    private String rowNumberStr;

    @Excel(name = "座", cellType = Excel.ColumnType.STRING)
    private String seatStr;
    @NotNull(message = "号不可以为空")
    @Length(min = 1, max = 250, message = "座位号不正确")
    @ApiModelProperty(value = "座位号")
    private Integer seat;

    @ApiModelProperty(value = "票档名称")
    @Excel(name = "票档", cellType = Excel.ColumnType.STRING)
    private String ticketTitle;
    @NotNull(message = "票档编码不可以为空")
    @ApiModelProperty(value = "票档编码")
    private Long priceId;
    @ApiModelProperty(value = "票档价格")
    @Excel(name = "金额", cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal price;
    @Excel(name = "状态", cellType = Excel.ColumnType.STRING)
    private String statusName;

    @ApiModelProperty(value = "演票信息展示")
    //@Excel(name = "座位号", cellType = Excel.ColumnType.STRING)
    private String showNumber;
    private Long userId;

    private String userName;
    @Excel(name = "预留类型", cellType = Excel.ColumnType.STRING)
    //预留类型
    private String resveredType;
    @Excel(name = "下单渠道", cellType = Excel.ColumnType.STRING)
    //预留类型
    private String ticketType;

    @Excel(name = "订单号/编号", cellType = Excel.ColumnType.STRING)
    private String orderNo;
    @ApiModelProperty(value = "票号")
    @Excel(name = "票号", cellType = Excel.ColumnType.STRING)
    private String ticket;
    @Excel(name = "门票类型", cellType = Excel.ColumnType.STRING)
    private String ticketWay;
    @Excel(name = "联系人", cellType = Excel.ColumnType.STRING)
    private String buyer;
    @Excel(name = "联系人手机号", cellType = Excel.ColumnType.STRING)
    private String buyerPhone;
    @ApiModelProperty(value = "(实名认证购票使用)录入的用户信息编码")
    private Long userinfoId;
    @ApiModelProperty(value = "(实名认证购票使用)用户名称")
    @Excel(name = "持票人", cellType = Excel.ColumnType.STRING)
    private String userinfoUserName;
    @ApiModelProperty(value = "(实名认证购票使用)证件类型，0:未知，1：身份证，2：护照")
    private Integer userinfoIdType;
    @ApiModelProperty(value = "(实名认证购票使用)证件号码")
    private String userinfoIdNumber;
    @Excel(name = "证件类型", cellType = Excel.ColumnType.STRING)
    private String idType;
    @Excel(name = "证件号码", cellType = Excel.ColumnType.STRING)
    private String idNum;
    @NotNull(message = "位置不可以为空")
    @ApiModelProperty(value = "位置")
    private Integer xPos;
    @ApiModelProperty(value = "余额支付金额")
    @DecimalMin("0")
    private BigDecimal balanceAmt;
    @ApiModelProperty(value = "观演卡支付金额")
    @DecimalMin("0")
    private BigDecimal cardAmt;

    @ApiModelProperty(value = "微信支付信息")
    @DecimalMin("0")
    private BigDecimal wechatAmt;
    @ApiModelProperty(value = "应付")
    private BigDecimal yingfuMoney;
    @ApiModelProperty(value = "减免")
    private BigDecimal jianmianMoney;

    @ApiModelProperty(value = "实付")
    private BigDecimal money;

    @ApiModelProperty(value = "桌号")
    private String tab;

    @ApiModelProperty(value = "排号")
    private Integer rowNo;

    public Integer getRowNo() {
        return rowNo;
    }

    public void setRowNo(Integer rowNo) {
        this.rowNo = rowNo;
    }

    public String getTab() {
        return tab;
    }

    public void setTab(String tab) {
        this.tab = tab;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public BigDecimal getYingfuMoney() {
        return yingfuMoney;
    }

    public void setYingfuMoney(BigDecimal yingfuMoney) {
        this.yingfuMoney = yingfuMoney;
    }

    public BigDecimal getJianmianMoney() {
        return jianmianMoney;
    }

    public void setJianmianMoney(BigDecimal jianmianMoney) {
        this.jianmianMoney = jianmianMoney;
    }


    public BigDecimal getBalanceAmt() {
        return balanceAmt;
    }

    public void setBalanceAmt(BigDecimal balanceAmt) {
        this.balanceAmt = balanceAmt;
    }

    public BigDecimal getCardAmt() {
        return cardAmt;
    }

    public void setCardAmt(BigDecimal cardAmt) {
        this.cardAmt = cardAmt;
    }

    public BigDecimal getWechatAmt() {
        return wechatAmt;
    }

    public void setWechatAmt(BigDecimal wechatAmt) {
        this.wechatAmt = wechatAmt;
    }


    public Integer getxPos() {
        return xPos;
    }

    public void setxPos(Integer xPos) {
        this.xPos = xPos;
    }


    public String getRowNumberStr() {
        return rowNumberStr;
    }

    public void setRowNumberStr(String rowNumberStr) {
        this.rowNumberStr = rowNumberStr;
    }

    public String getSeatStr() {
        return seatStr;
    }

    public void setSeatStr(String seatStr) {
        this.seatStr = seatStr;
    }
    public Long getHallId() {
        return hallId;
    }

    public void setHallId(Long hallId) {
        this.hallId = hallId;
    }

    public Long getSessionId() {
        return sessionId;
    }

    public void setSessionId(Long sessionId) {
        this.sessionId = sessionId;
    }

    public Integer getAreaId() {
        return areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getRowNumber() {
        return rowNumber;
    }

    public void setRowNumber(Integer rowNumber) {
        this.rowNumber = rowNumber;
    }

    public Integer getSeat() {
        return seat;
    }

    public void setSeat(Integer seat) {
        this.seat = seat;
    }

    public String getTicket() {
        return ticket;
    }

    public void setTicket(String ticket) {
        this.ticket = ticket;
    }

    public String getTicketTitle() {
        return ticketTitle;
    }

    public void setTicketTitle(String ticketTitle) {
        this.ticketTitle = ticketTitle;
    }

    public Long getPriceId() {
        return priceId;
    }

    public void setPriceId(Long priceId) {
        this.priceId = priceId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Long getUserinfoId() {
        return userinfoId;
    }

    public void setUserinfoId(Long userinfoId) {
        this.userinfoId = userinfoId;
    }

    public String getUserinfoUserName() {
        return userinfoUserName;
    }

    public void setUserinfoUserName(String userinfoUserName) {
        this.userinfoUserName = userinfoUserName;
    }

    public Integer getUserinfoIdType() {
        return userinfoIdType;
    }

    public void setUserinfoIdType(Integer userinfoIdType) {
        this.userinfoIdType = userinfoIdType;
    }

    public String getUserinfoIdNumber() {
        return userinfoIdNumber;
    }

    public void setUserinfoIdNumber(String userinfoIdNumber) {
        this.userinfoIdNumber = userinfoIdNumber;
    }

    public String getShowNumber() {
        return showNumber;
    }

    public void setShowNumber(String showNumber) {
        this.showNumber = showNumber;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getResveredType() {
        return resveredType;
    }

    public void setResveredType(String resveredType) {
        this.resveredType = resveredType;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getBuyer() {
        return buyer;
    }

    public void setBuyer(String buyer) {
        this.buyer = buyer;
    }

    public String getBuyerPhone() {
        return buyerPhone;
    }

    public void setBuyerPhone(String buyerPhone) {
        this.buyerPhone = buyerPhone;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getIdNum() {
        return idNum;
    }

    public void setIdNum(String idNum) {
        this.idNum = idNum;
    }


    public String getTicketType() {
        return ticketType;
    }

    public void setTicketType(String ticketType) {
        this.ticketType = ticketType;
    }

    public String getTicketWay() {
        return ticketWay;
    }

    public void setTicketWay(String ticketWay) {
        this.ticketWay = ticketWay;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
}
